{"nbformat":4,"nbformat_minor":0,"metadata":{"anaconda-cloud":{},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.5.2"},"colab":{"name":"Tutorial III_tf2.ipynb","provenance":[],"collapsed_sections":[]},"accelerator":"GPU"},"cells":[{"cell_type":"markdown","metadata":{"id":"UxDZW841tkSi","colab_type":"text"},"source":["# Tutorial III: Handwritten digit recognition in TF2"]},{"cell_type":"markdown","metadata":{"id":"_Nha4NG_tkSl","colab_type":"text"},"source":["

\n","Bern Winter School on Machine Learning, 27-31 January 2020
\n","Prepared by Mykhailo Vladymyrov.\n","

\n","\n","This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License."]},{"cell_type":"markdown","metadata":{"id":"HjuW0SKStkSm","colab_type":"text"},"source":["This is a supplementary material describing the fully-connected neural network for handwritten digit recognition using TensorFlow 2."]},{"cell_type":"markdown","metadata":{"id":"Dit404ghtkSr","colab_type":"text"},"source":["## 1. Load necessary libraries"]},{"cell_type":"code","metadata":{"id":"0fcfiHcmuAPA","colab_type":"code","outputId":"b96f7cd7-090a-4af0-b48a-5419bb38e55f","executionInfo":{"status":"ok","timestamp":1579633206757,"user_tz":-60,"elapsed":602,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["# if using google colab\n","%tensorflow_version 2.x"],"execution_count":1,"outputs":[{"output_type":"stream","text":["TensorFlow 2.x selected.\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"YbRY_dIutkSr","colab_type":"code","outputId":"ca8f9de9-9907-4829-831d-16918492654f","executionInfo":{"status":"ok","timestamp":1579633214711,"user_tz":-60,"elapsed":8417,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":17}},"source":["import sys\n","\n","import numpy as np\n","import matplotlib.pyplot as plt\n","import IPython.display as ipyd\n","import tensorflow as tf\n","import tensorflow.keras.datasets.mnist as mnist\n","\n","# We'll tell matplotlib to inline any drawn figures like so:\n","#%matplotlib inline\n","#plt.style.use('ggplot')\n","\n","from IPython.core.display import HTML\n","HTML(\"\"\"\"\"\")"],"execution_count":2,"outputs":[{"output_type":"execute_result","data":{"text/html":[""],"text/plain":[""]},"metadata":{"tags":[]},"execution_count":2}]},{"cell_type":"markdown","metadata":{"id":"rcuT4JYRtkS4","colab_type":"text"},"source":["## 1. Load the data"]},{"cell_type":"markdown","metadata":{"id":"JrbUAUlrtkS4","colab_type":"text"},"source":["First we will load the data: 60000 training images and 10000 images for validation. We will keep the images 2D and slatten them directly in the model.\n","\n","We will as well keep the labels as class ID, intead of the one-hot encoding."]},{"cell_type":"code","metadata":{"id":"L33vRL03tkS7","colab_type":"code","outputId":"1961f815-351b-4a84-a375-863e9c713fa5","executionInfo":{"status":"ok","timestamp":1579633215283,"user_tz":-60,"elapsed":8533,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":87}},"source":["(x_train, y_train), (x_test, y_test) = mnist.load_data()\n","x_train = x_train/255.0\n","x_test = x_test/255.0\n","\n","\n","print ('train: data shape', x_train.shape, 'label shape', y_train.shape)\n","print ('test: data shape', x_test.shape, 'label shape', y_test.shape)"],"execution_count":3,"outputs":[{"output_type":"stream","text":["Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n","11493376/11490434 [==============================] - 0s 0us/step\n","train: data shape (60000, 28, 28) label shape (60000,)\n","test: data shape (10000, 28, 28) label shape (10000,)\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"agJ3gkg0tkTJ","colab_type":"text"},"source":["## 2. Bulding a neural network"]},{"cell_type":"markdown","metadata":{"id":"lPs6sljtjDUE","colab_type":"text"},"source":["The following creates a 'model'. It is an object containing the ML model itself - a simple 3-layer fully connected neural network, optimization parameters, as well as tha interface for model training."]},{"cell_type":"code","metadata":{"id":"LC1SpGLbtkTL","colab_type":"code","cellView":"code","colab":{}},"source":["model = tf.keras.models.Sequential([\n"," tf.keras.layers.Flatten(input_shape=(28, 28)), # flatten the input\n"," tf.keras.layers.Dense(1500, activation='relu'), # 1500 neurons, ReLU activation\n"," tf.keras.layers.Dense(128, activation='relu'), # 128 neurons, ReLU activation\n"," tf.keras.layers.Dense(10, activation='softmax') # 10 neurons. Final output with softmax activation: ~ probability.\n","])\n","\n","model.compile(optimizer='adam', # Adam optimizer\n"," loss='sparse_categorical_crossentropy', # objective function - cross-entropy, class-ID labels\n"," metrics=['accuracy']) # additional performance metrices"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"RFwr5MLMjxI1","colab_type":"text"},"source":["Model summary provides information about the model's layers and trainable parameters"]},{"cell_type":"code","metadata":{"id":"bCttp5zeb5l2","colab_type":"code","outputId":"fa4d2e00-8096-44db-cba3-af0bceb190bd","executionInfo":{"status":"ok","timestamp":1579633222336,"user_tz":-60,"elapsed":14748,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":298}},"source":["model.summary()"],"execution_count":5,"outputs":[{"output_type":"stream","text":["Model: \"sequential\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","flatten (Flatten) (None, 784) 0 \n","_________________________________________________________________\n","dense (Dense) (None, 1500) 1177500 \n","_________________________________________________________________\n","dense_1 (Dense) (None, 128) 192128 \n","_________________________________________________________________\n","dense_2 (Dense) (None, 10) 1290 \n","=================================================================\n","Total params: 1,370,918\n","Trainable params: 1,370,918\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"P18eyAQHqZGG","colab_type":"text"},"source":["## 3. Model training"]},{"cell_type":"markdown","metadata":{"id":"VNIdb5Gtlr32","colab_type":"text"},"source":["The `fit` function is the interface for model training. \n","Here one can specify training and validation datasets, minibatch size, and the number of training epochs.\n","\n","**Warining**: call to `model.fit` does NOT reinitialize trainable variables. Every time it continues from the previous state."]},{"cell_type":"code","metadata":{"id":"0-OxT0aNVx-y","colab_type":"code","outputId":"8778851d-eb17-46f4-b3bd-b51ebd7637eb","executionInfo":{"status":"ok","timestamp":1579633267506,"user_tz":-60,"elapsed":58437,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":914}},"source":["hist = model.fit(x=x_train, y=y_train,\n"," epochs=25, batch_size=128, \n"," validation_data=[x_test, y_test])"],"execution_count":6,"outputs":[{"output_type":"stream","text":["Train on 60000 samples, validate on 10000 samples\n","Epoch 1/25\n","60000/60000 [==============================] - 4s 62us/sample - loss: 0.2042 - accuracy: 0.9396 - val_loss: 0.1191 - val_accuracy: 0.9635\n","Epoch 2/25\n","60000/60000 [==============================] - 2s 28us/sample - loss: 0.0752 - accuracy: 0.9769 - val_loss: 0.0819 - val_accuracy: 0.9742\n","Epoch 3/25\n","60000/60000 [==============================] - 2s 28us/sample - loss: 0.0473 - accuracy: 0.9845 - val_loss: 0.0641 - val_accuracy: 0.9791\n","Epoch 4/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0333 - accuracy: 0.9890 - val_loss: 0.0682 - val_accuracy: 0.9795\n","Epoch 5/25\n","60000/60000 [==============================] - 2s 28us/sample - loss: 0.0254 - accuracy: 0.9915 - val_loss: 0.0720 - val_accuracy: 0.9800\n","Epoch 6/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0194 - accuracy: 0.9938 - val_loss: 0.0972 - val_accuracy: 0.9755\n","Epoch 7/25\n","60000/60000 [==============================] - 2s 31us/sample - loss: 0.0178 - accuracy: 0.9944 - val_loss: 0.0666 - val_accuracy: 0.9823\n","Epoch 8/25\n","60000/60000 [==============================] - 2s 27us/sample - loss: 0.0163 - accuracy: 0.9945 - val_loss: 0.0739 - val_accuracy: 0.9811\n","Epoch 9/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0143 - accuracy: 0.9949 - val_loss: 0.0727 - val_accuracy: 0.9826\n","Epoch 10/25\n","60000/60000 [==============================] - 2s 30us/sample - loss: 0.0101 - accuracy: 0.9966 - val_loss: 0.0819 - val_accuracy: 0.9799\n","Epoch 11/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0103 - accuracy: 0.9967 - val_loss: 0.0832 - val_accuracy: 0.9796\n","Epoch 12/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0087 - accuracy: 0.9973 - val_loss: 0.0773 - val_accuracy: 0.9828\n","Epoch 13/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0089 - accuracy: 0.9972 - val_loss: 0.1104 - val_accuracy: 0.9763\n","Epoch 14/25\n","60000/60000 [==============================] - 2s 27us/sample - loss: 0.0085 - accuracy: 0.9972 - val_loss: 0.0927 - val_accuracy: 0.9818\n","Epoch 15/25\n","60000/60000 [==============================] - 2s 28us/sample - loss: 0.0092 - accuracy: 0.9971 - val_loss: 0.0827 - val_accuracy: 0.9833\n","Epoch 16/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0091 - accuracy: 0.9971 - val_loss: 0.0891 - val_accuracy: 0.9817\n","Epoch 17/25\n","60000/60000 [==============================] - 2s 28us/sample - loss: 0.0066 - accuracy: 0.9980 - val_loss: 0.0991 - val_accuracy: 0.9794\n","Epoch 18/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0081 - accuracy: 0.9972 - val_loss: 0.1168 - val_accuracy: 0.9789\n","Epoch 19/25\n","60000/60000 [==============================] - 2s 28us/sample - loss: 0.0072 - accuracy: 0.9979 - val_loss: 0.0894 - val_accuracy: 0.9826\n","Epoch 20/25\n","60000/60000 [==============================] - 2s 30us/sample - loss: 0.0092 - accuracy: 0.9969 - val_loss: 0.0859 - val_accuracy: 0.9828\n","Epoch 21/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0054 - accuracy: 0.9984 - val_loss: 0.0902 - val_accuracy: 0.9836\n","Epoch 22/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0044 - accuracy: 0.9986 - val_loss: 0.1214 - val_accuracy: 0.9788\n","Epoch 23/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0071 - accuracy: 0.9979 - val_loss: 0.1011 - val_accuracy: 0.9824\n","Epoch 24/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0036 - accuracy: 0.9988 - val_loss: 0.0873 - val_accuracy: 0.9845\n","Epoch 25/25\n","60000/60000 [==============================] - 2s 29us/sample - loss: 0.0091 - accuracy: 0.9976 - val_loss: 0.1349 - val_accuracy: 0.9776\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"K4dR_3ROmGiK","colab_type":"text"},"source":["The `fit` function returns the training history object (can be also obtained as `model.history` after training)."]},{"cell_type":"code","metadata":{"id":"8l9Gz1e4V-7Q","colab_type":"code","outputId":"69cef022-48cf-4eb1-8f7e-b47272c990aa","executionInfo":{"status":"ok","timestamp":1579633268461,"user_tz":-60,"elapsed":948,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":320}},"source":["fig, axs = plt.subplots(1, 2, figsize=(10,5))\n","axs[0].plot(hist.epoch, hist.history['loss'])\n","axs[0].plot(hist.epoch, hist.history['val_loss'])\n","axs[0].legend(('training loss', 'validation loss'), loc='lower right')\n","axs[1].plot(hist.epoch, hist.history['accuracy'])\n","axs[1].plot(hist.epoch, hist.history['val_accuracy'])\n","\n","axs[1].legend(('training accuracy', 'validation accuracy'), loc='lower right')\n","plt.show()"],"execution_count":7,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"markdown","metadata":{"id":"fUnlYrfaBmQ8","colab_type":"text"},"source":["Current model performance can be evaluated on a dataset:"]},{"cell_type":"code","metadata":{"id":"_cq_gqG4V9il","colab_type":"code","outputId":"035aba22-50e5-469f-b80e-1cd013691ad4","executionInfo":{"status":"ok","timestamp":1579633268927,"user_tz":-60,"elapsed":1401,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":52}},"source":["model.evaluate(x_test, y_test, verbose=2)"],"execution_count":8,"outputs":[{"output_type":"stream","text":["10000/10000 - 1s - loss: 0.1349 - accuracy: 0.9776\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":["[0.1348723222233993, 0.9776]"]},"metadata":{"tags":[]},"execution_count":8}]},{"cell_type":"markdown","metadata":{"id":"4-5qgb0rDyj4","colab_type":"text"},"source":["We cat test trained model on a image:"]},{"cell_type":"code","metadata":{"id":"BPU8mOg2DVSO","colab_type":"code","outputId":"00fee679-f715-4d40-bd66-d855fdf017e8","executionInfo":{"status":"ok","timestamp":1579633268927,"user_tz":-60,"elapsed":1395,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":426}},"source":["im_id = 0\n","y_pred = model(x_test[im_id:im_id+1])\n","print('true lablel: ', y_test[im_id], 'predicted: ', np.argmax(y_pred[0]) )\n","plt.imshow(x_test[im_id])"],"execution_count":9,"outputs":[{"output_type":"stream","text":["WARNING:tensorflow:Layer flatten is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2. The layer has dtype float32 because it's dtype defaults to floatx.\n","\n","If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2.\n","\n","To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor.\n","\n","true lablel: 7 predicted: 7\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":9},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"markdown","metadata":{"id":"MxIIoNRYqqd_","colab_type":"text"},"source":["## 4. Inspecting trained variables"]},{"cell_type":"markdown","metadata":{"id":"5waklWBUBwuO","colab_type":"text"},"source":["We can obtain the trained variables from model layers:"]},{"cell_type":"code","metadata":{"id":"i-nnCph8rU01","colab_type":"code","outputId":"195feba8-f30d-4a40-c41c-91ca95b9dacf","executionInfo":{"status":"ok","timestamp":1579626278696,"user_tz":-60,"elapsed":760,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["l = model.get_layer(index=1) # get layer 1\n","w, b = l.weights # weights are in fact both weights and bias\n","\n","w = w.numpy() # obtain the value as a numpy array\n","b = b.numpy()\n","print(w.shape, b.shape)\n","\n","w = w.reshape((28,28,-1)).transpose((2, 0, 1)) # reshape to image size"],"execution_count":0,"outputs":[{"output_type":"stream","text":["(784, 1500) (1500,)\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"Hfmd5YeUCCKO","colab_type":"text"},"source":["Let's visualize first 5:"]},{"cell_type":"code","metadata":{"id":"q8UOgBWJfzMg","colab_type":"code","outputId":"888c6f9f-f3ed-47e5-cfd3-0c03bbaca8f8","executionInfo":{"status":"ok","timestamp":1579626280986,"user_tz":-60,"elapsed":1402,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":246}},"source":["n = 5\n","fig, axs = plt.subplots(1, n, figsize=(4.1*n,4))\n","for i, wi in enumerate(w[:5]):\n"," axs[i].imshow(wi, cmap='gray')"],"execution_count":0,"outputs":[{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAABJoAAADlCAYAAAAbUp2BAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3dZ5Bc55ne/etgBjknIuccCIAgCIog\nCGaBpKilJMtcaVcueUsr2VtS1brsD6/s/WBV+cta5V17q+yyLXlVSpZWXEsUKZsiRVIMAiNyzjnn\nnDE47wcOdylVX9cQjZ6ZHvH/q2IRnIs9/fTpcz/Pcw5m+i7KshQAAAAAAABwszq19wAAAAAAAADw\n+4EbTQAAAAAAAKgJbjQBAAAAAACgJrjRBAAAAAAAgJrgRhMAAAAAAABqghtNAAAAAAAAqImbutFU\nFMUjRVFsLopiW1EUX6/VoAC0DmoW6FioWaDjoF6BjoWaBVpPUZZldQ8sigZJWyQ9LGmfpKWSPl+W\n5Qb3mO7du5e9e/eumHXu3Nk+15UrV2yWxp++57Vr12xWFEVVzydJjY2NNrt69arNGhoabHb9+vWq\nxlPt96z2NXTp0sVm6Zg2NTXZLL2GNBYpH5s0niQ9rprjffr0aV28eLG6wdygamq2Z8+e5YABAypm\n6Ty5fPmyzbp27WqzTp38ve9Us+lc6Natm82kPL+ksaYaSuNJxy2ds9XWesrSMU3SMUvzbks1W+2c\nlR6XjvelS5du+HEnTpzQuXPn6rJmu3btWvbq1avi90rHIZ3nZ86csVl6r1MtV7tWSHluSVnfvn1t\nls6DtD6l+knnZDre6TWkY5rG2aNHD5udPXvWZumYtaTasabz9MKFC1U936FDh46VZTnY/g81Us0a\n26NHj9Id52rn/PS4atefVJfpnG1JtXWSzqFq95tJmuvSeVltrSfdu3e3WbV7WymvsdVeh6S6dI87\nefJk3a6xktSrV69y4MCB7vvZ50rHKZ2X1e6L0znb0rVstXvRNJ60F6/2+ao9ptXOdem9SFmqn/S4\nlsaT9tTVXlun8bj14/jx4zp79mzFgfoVp2XzJW0ry3KHJBVF8XeSnpBki7N379568sknK2a33HKL\nfaIDBw7YLF3wDBkyxGbHjx+3WbUXO5LUv39/mx05csRm7uJAyotYGk+/fv2q+p7pcek1jBkzxmap\nUM6fP28zd2NSkvbv328zKR+bdKFT7SbYLTySf43f//737WNawQ3X7IABA/Tnf/7nFbNUX9u3b7fZ\n+PHjbZY2UEePHrXZ4cOHbTZ16lSbSdKuXbtsNnnyZJulC7RUJ4MGDbJZWjTSXJfqJF0snjhxwmap\nZvfs2WOzYcOG2ezQoUM2k/I8mOaJNO+muty6desNP+6b3/ymfUwruKGa7dWrlxYvXlzxG6V6HTdu\nnM1efvllm6Xv2bNnT5uNHj3aZmn9laSdO3fabNu2bTb7xCc+YbONGzfarNo6dzfoJWns2LE227Fj\nh81SfZw+fdpmc+bMsdlrr71ms8cee8xmLUkXFadOnbJZ2gsuW7bMZul8+8u//MvdNqytG15j+/bt\nqz/5kz+pmKX1oE+fPjZLe580H6YbrumGSapJKV/UpXN64sSJNkvnUDr30pqX9nfpvFy+fLnNJk2a\nZLNU6+k9nDVrls3Sa5Dye5FufKX1t9q/6HNj+au/+iv7mFZwwzU7cOBA/cVf/EXFrNqbQul8TjWS\nrmWHDh1qs1TrUvV/sZvGk/bi6dyr9i9105qYni/VUPpLm7QPP3fuXFXfU8o3DNOeutq/RErjcfua\n//Af/oN9zM386twISXs/8N/7mr8GoD5Rs0DHQs0CHQf1CnQs1CzQilr9w8CLovhKURTLiqJYdvHi\nxdZ+OgA36YM1m+7CA2h/H6zXlv6WEkD7+2DNpp8uB1Af2BcD1bmZG037JY36wH+PbP7abynL8ltl\nWc4ry3Je+rUYAK3uhms2/cgugFbXYs1+sF5b+jwyAK3qhtfYln5tAkCrYl8MtKKbudG0VNKkoijG\nFUXRRdLnJD1bm2EBaAXULNCxULNAx0G9Ah0LNQu0oqo/DLwsy2tFUXxN0guSGiR9pyzL9ekx169f\ntx9CnT60auTIkTZLHxyaPpQsfVBn+rHIlj4MPH1gYvqw7PRhpOlHq9Od9Wo//T99wGn627dqu+VU\n2yElfciilD8kLn2wdDqn0q9/pg9sa+m8aQvV1GxTU5OthxEj/K+xT5gwwWbpA/r27dtns/R+pg8X\nbukDqKdMmRJzJ30gdjo3Dx48aLP0odbp2FTbMKDazpxpHkjPN3PmTJtJufFDOt/S43bv9p8DPHz4\ncJvdTCelWrnRmu3atav9APu0NqVfuUvn5Ny5c232+uuv22zz5s02u++++2zW0mNTo4F0XqYPYn34\n4YdtltaDtK6lZgl33323zb7zne/Y7N5777VZmnPnz59vs9Q0Q8p7pVQ/aW+W9oJpzk3nd1upZo1t\nbGy0HzRdbefG9KH41Xa3qrZpi5RrLzUUSB8yntagNGft3bvXZun1p9/ISB9ynL5nGmda79IH37f0\nE3Kp+UlqAFJtp9nUqMU1Hqq2G3o1qqnZoijssUpNitJ1V3pP0wfYpw+pT9c5Le2LU7OBtDdMj6u2\n01vqfJsamaTz8uTJkzZL61q6d5Dew3T9ksbZkjRPbNmyxWaDB/smrGl93rRpU8Wvxw7ONvkQyrJ8\nTtJzN/M9ALQdahboWKhZoOOgXoGOhZoFWk+rfxg4AAAAAAAAPhq40QQAAAAAAICa4EYTAAAAAAAA\naoIbTQAAAAAAAKgJbjQBAAAAAACgJm6q69yN6tq1q20/nFraptbVd955p80GDhxos9T+NbWgbKnd\n7+rVq202dOhQm6XXkVotJhs2bKjqe6Y2waNGjbJZanFbbXvO1JY5tTqWckvdsWPH2iy1n0+tO9M5\n7NrPpzHWg+7du2vGjBkVs9R6OJ1DKZs1a5bNNm7caLN0HFNbUSm3Fk1jfeyxx2w2ffp0m61YscJm\na9assVlqR5raxqZ5wLUqlfJxS/XzqU99ymYtzZ+pNXBqn5ra2h85csRmqa29a12f2oO3t4sXL2rd\nunUVs9TGPrXgTq2Fq62PH/3oRzZL7bclafHixTZL58+SJUtsduzYMZul+mloaLDZvn37bJakdTTt\nTVL7+fQa0vz39ttv20zKdZdavqeW5xMnTrRZev0PPPCAzZ566imbtbempibbart79+72cdu3b7dZ\n2oukGkl71AkTJtgsnQdSPsfS62hs9Jcoffv2tVla11IL8v79+9ssnZdvvvmmzVIr+LRPSHuBtN73\n6NHDZpI0bdo0m1W7H3X7WynvI/bu3Vvx61euXKlqHG2lLEv7vqb3uygKm6Vjn/Y+6VxI9ZxqUsrX\nXpMmTbJZGms6T4YNG2aztF64c0jK9w5Slt6ntH+fN2+ezdLxbOm9SPustBdP1+vpmjydN+6+Shoj\nP9EEAAAAAACAmuBGEwAAAAAAAGqCG00AAAAAAACoCW40AQAAAAAAoCa40QQAAAAAAICa4EYTAAAA\nAAAAasL3Dm0FV65csS1/BwwYYB9XTXtMKbdsPnfunM2OHj1qs9SOVJL+4A/+wGapzfaQIUNsltqa\np7bMixYtqupxqbVjev2p1XNq7Zhee2pl/V//63+1mST9/Oc/t9mePXtstmDBApul9pypPalrOZvO\n0Xpw6dIlbd68uWI2c+ZM+7h07FOb4NRWM7X9Tudev379bCZJq1atqmo8K1eutNmYMWNsltoy33HH\nHTZLbeZTi+gHH3zQZqkF/Zw5c2y2du1am23cuNFmM2bMsJkk3XnnnTZL7eJTy+rnnnvOZqkdrWvX\nmubH9ta7d2/dc889FbNXXnnFPi61k07zoZsbpHweVNvCXpLeeOMNm6UW96+//rrNmpqabNarVy+b\npfk71d3f/d3f2SzNZX/4h39os1OnTtksHdM0r7799ts2k6R33nnHZmmPkebHtBccOXKkzV566SWb\n1bOyLO0eN7WqT1lqXZ3aiKfs5MmTNkvtx6W830p7w9S6Pb3GVJfnz5+32eXLl2327LPP2iy1EU9t\nv3/961/bbNCgQTZ74oknbHb27FmbSdLChQtttm3bNps9//zzNkvt2dM+0a0RaQ6sB1evXtWBAwcq\nZmm/mbK0riWTJ0+22Y4dO2z2uc99Ln7fS5cu2eypp56yWboOevLJJ222adMmm33ta1+zWaqT3/zm\nNzbr0qWLzaq95/DCCy/YLK1r/fv3t5kkTZo0yWZp/kx7grQG796922bpdTj1fZULAAAAAACADoMb\nTQAAAAAAAKgJbjQBAAAAAACgJrjRBAAAAAAAgJrgRhMAAAAAAABqghtNAAAAAAAAqInGtn7Ca9eu\nVfx6ahufWoynloip7WNqf+rGKLXcejm1R01tAVPLxNTW++DBgzZrbPRvb2oNO3/+fJstWbLEZqnF\n+IgRI2yW2mCn1pWpFbwkHTp0yGap7Wd63ODBg222fv16m02YMKHi1+u5Vbr0Xnth1/r73Llz9nF9\n+/a1WWrHmc719D3T/JHOS0k6fvy4zVIr4O7du9ts9erVNkvnV5o/Vq5cabMpU6bYLLWuHzt2rM12\n7dpls9TCNrUg/9GPfmQzSfrkJz9ps4sXL9osteW+++67bZbOKdc+PLXFbW8XLlyw595jjz1mH5fW\nn7RW3HvvvTZL58HatWttls47SXrnnXdsdubMGZt96UtfstmXv/xlm6V57pe//KXN0lyWjk1qW//3\nf//3Nkvz6qJFi2z22muv2WzFihU2k6SpU6fabOfOnTZLc5Jbb6S8F0xzQDpu7a2xsVEDBw6smKXz\n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\n7T1p0iT7uNdff/3GBy0/r0m5tXBqlf1P/+k/jc+Z3rN0fqVW6elXIVIb4DR/p9bCac5JPv7xj9ss\nvYepBfaDDz5osx/+8IdxPFOnTrXZ3Llzbfb000/bLJ2nqX30yJEjbVZrtd4Xuz2nW3ulPK+l83n/\n/v02S+dXWmP27t1rM0maMLrRbloAACAASURBVGGCzVLr8hUrVtgs7X3T/i7tU7t06WKztOb99Kc/\nrer5nnvuOZuldSa9F/fff7/NJOmTn/ykzdIam34t+84777RZat3u1vv03lar1vtidy2Yrh//yT/5\nJza7fv26zar99dq0PrX0UTZDhviPqxo+fLjN0tqezq9f/vKXNlu5cqXN0p4xXSOmx6U5Ka1Pv/nN\nb2yW9hFpryRJ6ade03VRms/Sb5ilNWL69OkVv572ZS3eaCrL8vMm8rsTAO2GmgU6FmoW6DioV6Bj\noWaB9nHTHwYOAAAAAAAASNxoAgAAAAAAQI1wowkAAAAAAAA1wY0mAAAAAAAA1AQ3mgAAAAAAAFAT\nLXadq6WiKGwLPNcqUpLGjRtns/79+9usoaHBZjt27LDZvHnzbJbaj0vS1q1bbbZ+/XqbpVaTqbVl\nelxqzZ5ajt522202S63pr169arPUGjW1f00tovv27WszSXr33Xeres70OlKL+cWLF9vMnW/puepB\nly5dNGbMmIpZOodSe+XU/jW9p6k16qFDh2y2b98+m0nS5MmTbZbao548edJm6XWkNqBprnvxxRdt\n9tZbb9nsyJEjNnvppZdsllqJ33777TZLUltmKbeATVlqfzt//nyb9evXz2Z79uyxWb3q27evHn30\n0YpZqpHUBjcd206d/N9VDRo0yGapBl555RWbSdLGjRtt9olPfMJm/+N//A+bpTbQqV14anme9gLp\nXJ4xY4bN1qxZY7N0vI8ePWqz73//+zbbsGGDzSTpT//0T232P//n/7TZokWLbJbmwDSX7dy502b1\nrCgKu1d1raSl3A59/PjxNkv70O3bt9sstcM+ffq0zaS8p+zevbvNDhw4YLMBAwbYbM6cOTZL8/rB\ngwdtlq4Z0uv/1a9+ZbP02tNrcHsySbrrrrtsJkl79+61WdqPpu+b5vPUKt3N9Wn/WA8aGxvttdCp\nU6fs43r37m2ztK4NHz7cZmkfnq6P05og5bG++eabNkvXyD/5yU9slvYSaV5Kr/+rX/2qzdI6m66d\n03XI5cuXbZauM9I1kZTXvfQep/F07tzZZmnv39hY+bZRmgP4iSYAAAAAAADUBDeaAAAAAAAAUBPc\naAIAAAAAAEBNcKMJAAAAAAAANcGNJgAAAAAAANQEN5oAAAAAAABQE5X71LWSpqYmnT9/vmKW2oin\n1oapZeCoUaNslto5p7ax6XFSbpOc2qqmFoWptWFqBXzx4kWbLV682GarVq2ymWvpKeU2k6nde8+e\nPW2W3ouFCxfaTMrtQl999VWbpZbVjzzyiM127dpls0uXLlX8enp99eDq1avat29fxeyWW26xj0v1\nfO7cOZudOXPGZun5UqvWNEdI0rRp02yWaja1E08tXnv16mWz1Ho4fc8076THpZb3qV3p5s2bbTZx\n4kSbbdq0yWaSNGXKFJvNnj3bZmn+TPNLqnV3nqZjXc9efvllm6VWtx/72Mds5tpTS7mFfXpPUl1J\nUr9+/WyW2qEvX77cZnfccYfNUmv21OZ5woQJNnvxxRdtlubAtP6mFutpTf/c5z5ns9SqW8qty9M8\nl8aT6iu1XU7Hpp6VZWnbyqf1Jx3fdCy6d+9us9RGfe3atTZLNSJJDQ0NNkv7genTp9ts/fr1Nkst\nyMuytFnaw6a9dnoN7r2VpPnz59ssrYUPPPCAzXr06GEzKa95165ds9nWrVttlvYDqWbdOpDOl3pw\n/fp1O0+n9ztJ9TxjxgybHT9+3Gbp2jGdsy193y1bttjsF7/4hc1WrFhhs06d/M+9pD38k08+abN0\n3C5cuGCztI9oamqy2dmzZ22W3t+HHnrIZlI+pul9cvdbpHxdkO6duOdLcwc/0QQAAAAAAICa4EYT\nAAAAAAAAaoIbTQAAAAAAAKgJbjQBAAAAAACgJrjRBAAAAAAAgJrgRhMAAAAAAABqorGtn9C1wEvt\nLMeOHWuzn/70pzZ7/PHHbZZaFHbr1s1mqT2jlFuLdunSxWapDWFqq5peR2oHv3PnTpul9py7d++2\nWWppn1qlp3bVqRVraocpSXPmzLFZOt/69u1rs3TcNmzYYLORI0dW/HpjY5uX4A3p1KmTbUGbzufU\nJvi+++6zWWoPmlqpp3bpqTWqlNucTpw40WZjxoyxWWode+jQIZulduGpfXlqQb9jxw6bpXM2nZvv\nvvuuzVJL9EmTJtlMysd77969NluwYIHN0nuR5tZly5ZV/Hpqj93empqa7OtN8+Ebb7xhs9RuPrUf\nX7p0qc3SeZDOc6m6dtlSbgm+atUqm7311ls2GzFihM3SOpIel+rnJz/5ic3S+5v2CWl++OxnP2sz\nSVq5cqXN0rya3kPXNlzK88NLL71ks3p29epVHT58uGKW9kZDhgyxWdo3pX1aes+mTp1qs1TrktS9\ne3ebjR8/3mZHjx61WWqnvX79epulvV///v1tltbttNe+//77bTZo0CCbuT2jlI9LS23r09yb3qcX\nX3zRZrfeeqvNnnvuOZu5a7u0t6wH169ft7WS9hQHDhyw2dq1a202e/Zsm6Vjn65X03stSQcPHqzq\n+3bu3NlmaU1Mr2PKlCk2Gz16tM1uv/12m6VruTTvpuuQVLPpeLd0LZvmrOHDh9vs5MmTNjt+/Hh8\nTsfV5vXr1+1j+IkmAAAAAAAA1AQ3mgAAAAAAAFAT3GgCAAAAAABATXCjCQAAAAAAADXBjSYAAAAA\nAADUBDeaAAAAAAAAUBMt9lYviuI7kh6XdKQsy5nNX/uGpC9Ler/H5r8ry9L3sPzH72Vb/KV2lq+9\n9prNUnvdO++802apBeWRI0dsltozSrlVcGq9nNobrlu3zmapBXlq3zhjxgybpdbDS5YssVmSjndq\n+zh48GCbpfabUm63mNokp9axqa1nr169bOZa8bZGq/Ra1mxTU1NsN+2cOHHCZn369LFZqoPU4tS1\nyZVyG2Qpt47t1q2bzVJL59QmuUePHjZLrYdTW+rUgn3hwoU2S+2Vjx07ZrOrV69W9T1bauOa5vov\nfOELNkstndN4zp49a7NLly5V/Ho91+yFCxfsmvj444/bx6UW46lV+KZNm2yWzp+0bqVMkl544QWb\nfeYzn7HZ9OnTbXbq1CmbpTr/7Gc/a7M0ztQ+ObVRT23r9+7da7N58+bZLL2GtJ+Rcj2ncyOtzUOH\nDrXZkCFDbPbAAw/Y7Be/+IXNqlHLNbZTp052nWlqarKP2759u83SHi61/H711VdtlvboAwYMsJmU\n18P0OtL5ns6FVOvpNab1Pu39H3vsMZvNmTPHZmn9SePs3bu3zdK8K+W6TOtAumZIe/H9+/fbzK2l\naa9TrVrXrLueS3ujtPdLNbtv3z6bFUVhs7T3TXtmSXrqqadsls6TNWvW2KyhocFmaS1Ja8Lo0aNt\ndvLkSZulPeO2bdtsdvnyZZuleS4d7/R8knTffffZ7OLFizbbsGGDzdauXWuzdH3cuXPnil+P761N\n/tF3JT1S4ev/uSzLOc3/tFiYANrMd0XNAh3Jd0XNAh3Fd0W9Ah3Jd0XNAm2uxRtNZVm+Lsn/eAKA\nukLNAh0LNQt0HNQr0LFQs0D7uJnPaPpaURRriqL4TlEU/ufFANQLahboWKhZoOOgXoGOhZoFWlG1\nN5r+u6QJkuZIOijpr9z/WBTFV4qiWFYUxbILFy5U+XQAbhI1C3QsH6pmP1iv6fMDALSqqtbY8+fP\nt9X4APy2qmo2fb4PgN9W1Y2msiwPl2XZVJbldUnfljQ//L/fKstyXlmW89IHoQFoPdQs0LF82Jr9\nYL127dq1bQcJQFL1a2xqEgOg9VRbs6nxD4DfVtWNpqIoPvjx+J+W5NuiAWh31CzQsVCzQMdBvQId\nCzULtL7cR1hSURQ/lnSfpEFFUeyT9O8l3VcUxRxJpaRdkv7FzQ7EtcyTcqu91L4w/RpBatWa2lO2\n1MZ148aNNkutTNNzpteYWm2PGjXKZrt377bZrl27bLZz506bpVaaaSzpmKb2vi1J7W9TS930N4wr\nVqywWWqv7P4GpKV279WoZc127drV1p9roy7llr6vv/66zVLNpra906ZNs9ndd99tMym3NE5tR2+5\n5RabjRw50mZjxoyxWTrfUzvS1NY9tYadPXu2zVIb5NRKPbVUTTUp5bbGaf48cOCAzdI5dfToUZu5\ndsNprapWrWq2W7dumjx5csXsued8Q53UInjcuHE2c88l5eOezuX0Pkt5LUnr77333muzhx9+2GbP\nP/+8zdLreOutt2w2b948mz366KM2+/nPf26zrVu32uwTn/iEzZLUtlySfvWrX9nsz/7sz2yW1o60\np/n2t79tsz/+4z+2Wa3Vco1tbGzU4MGDK2Zp75dqNtXIjh07bJbW7XR+nTlzxmaS9LOf/cxmt99+\nu83SuZD2jU888YTN0ny2ZMkSm6V5Ke190+NS2/r0sQWphfxtt91mMykft9OnT9tsxowZNrt+/brN\nTpzwn789YsQIm9VaLWv26tWrOnLkiM2cQ4cO3dCY33f8+HGbNTb6y/iBAwdW9XxSfk/TvJT2cGnP\nnF5jml/SfPbuu+/aLL2+NJZUP+m+QtortLTOpl/VnDRpks0GDRpks0uXLtlsz549Nuvbt2/Fr6c5\nsMUbTWVZfr7Cl/+2pccBaB/ULNCxULNAx0G9Ah0LNQu0j9r/OAUAAAAAAAA+krjRBAAAAAAAgJrg\nRhMAAAAAAABqghtNAAAAAAAAqAluNAEAAAAAAKAmWuw6V0vXrl3T4cOHK2aprXdqAZ/ase7evfvD\nD+4DUsvm1BJRksaOHWuz1GY8vcbUTjG1Zk/tC1N7ylOnTtnMvX+SNHfu3Koel9q9p7GkdveSb8Mo\n5dbTqcXr3XffbbOLFy/e8PdM5309KMvStmsdP368fdymTZuqer7U0veOO+6wWWor2r179/icq1ev\ntlm/fv1sllqi/+AHP7DZhg0bbNazZ0+bpdeYWsr26NHDZitWrLDZxIkTbZbq+bHHHrNZavEqSQ89\n9JDN9u/fb7NXXnnFZv/6X/9rmy1btsxm7ninOm9vRVGooaHhhh+3bds2m33605+22fr162/4uSTZ\ndu5Sboct5Tli2rRpNvuP//E/2iy1BE+thdM52adPH5t17drVZn/7t74RUqqtT33qUzZbt26dzdLe\n49lnn7WZJB09etRm27dvt9mCBQtslubr1A69pRbR9aooCruPS/Nset9+8Ytf2CytMcOHD7dZ2k+n\nPZOUW3Cntthp7zty5Eibpb3vvHnzbJbW+7RWpr3m888/b7M0V589e9ZmaQ7s37+/zaQ8Z91+++02\nS3PrM888Y7POnTvbzK2xRVHYx9SDLl262LmoLEv7uHTOpvc7Xeukep4yZYrN0twtSaNHj7ZZml/S\neZLqMl0/bt682WZpP5bmyHQNnNaSdM+hV69eNkv793RcpDxHpvdx6dKlNhs2bJjN0v7EHdNUs/xE\nEwAAAAAAAGqCG00AAAAAAACoCW40AQAAAAAAoCa40QQAAAAAAICa4EYTAAAAAAAAaoIbTQAAAAAA\nAKiJxvYewPtSS0jX+lWSJk+ebLPUcjW13FyzZo3Nbr31VptJuZ1kktqVzpw502apXfjx48dtltq4\npnbOqZVkOqazZ8+2WWoNe+bMGZulVpJSbomZWminFr/jx4+32fnz523mWj+m9pv1oLGx0bbLTe9N\narE7dOhQm+3YscNm9957r81S+9cNGzbYTMr1ntp8ppakqW3xqFGjbJZaD6c2pocOHbJZqss0D6Qa\n+eM//mObpTbYM2bMsJkkbdq0yWbp3EhrRDo3Uit111o7Hc/2dv78eS1fvrxi9pnPfMY+7t1337VZ\nek/27Nljs/vvv99maW7+zW9+YzNJGjNmTMydu+66y2ZvvPGGzdKanuaOVOf79u2z2eLFi2122223\n2Wzbtm02W7hwoc2++c1v2mzcuHE2k2RbfEt5fVi1apXNUrvuSZMm2Sy9F/Xs6tWr9nxI5/q6dets\nltbf9J7t2rXLZulcSGOR8p4qtXVP53TaMw8cONBmhw8ftllqQX7LLbfYLNXz9u3bbZba3ad15vbb\nb7fZzp07bSbl9zGto0lqv572be5xaf9UD65du2avr9KeKp1f6dryhz/8oc3SsZo1a5bNBg0aZDNJ\nmjhxos3Se3rq1CmbpTUx7Tfd9ZMk7d2712bpujNdF1S7Bqdr5/R8aS6T8jmVrgsGDx5ss2HDhtms\nd+/eNnNrxPXr1+1j6vsqFwAAAAAAAB0GN5oAAAAAAABQE9xoAgAAAAAAQE1wowkAAAAAAAA1wY0m\nAAAAAAAA1AQ3mgAAAAAAAFATjW35ZA0NDbZNX2oPmtoXfvzjH7dZavOZWpOnrKX2n6lN4YIFC2zW\n1NRks9RC+u6777bZ0qVLbXb69GmbpbaHqVX41KlTbZZaw6bjXU2bxfetXLnSZqkVY2rFm9pXprae\nro1tp071fa+3LEvbgjYdw169etksnQupTW5qWZzOy9WrV9tMki5evGiz1DI7jXXy5Mk2S3Ndqsu+\nffva7MEHH7TZgAEDbHbw4EGbpdaw6bikls2HDh2ymZRfY5qX5syZY7PUUji1+HVzfT3XbPfu3TVj\nxoyK2auvvmofl86ftP5OmTLFZqmtd2qx/uUvf9lmknTgwAGbpRbJW7ZssVmay5YtW2azJ5980map\nJXVqW3/16lWblWVpsyFDhtjs7//+722W6mPTpk02k6THH3/cZmmOSC2i0/yxZMkSm6W1uZ517dpV\n48ePr5il1+vqXJLOnDljszfeeMNmaT995MgRm6V251LeG23dutVmqU7S3jC1Q0/1Ve2c9YMf/MBm\nqQ7SnjnNg6lVekvrU9pjpCzNgz169LDZtm3bbDZhwoSKX29oaLCPqQdFUahz584Vs7T3XbVqlc3S\n/LVo0SKbnT9/3mZpf3frrbfaTJImTZpks8uXL9ts8+bNNkt75nSe3HPPPTZL+/fjx4/bLK1BQ4cO\ntdn69ettduXKFZulvaa7L/K+dLzT9VSaB9O8m87h0aNHV/x62kfU744ZAAAAAAAAHQo3mgAAAAAA\nAFAT3GgCAAAAAABATXCjCQAAAAAAADXBjSYAAAAAAADUBDeaAAAAAAAAUBONLf0PRVGMkvR9SUMk\nlZK+VZbl3xRFMUDSTySNlbRL0pNlWZ5s4Xupa9euFbPu3bvbx6XWfqklYmp/mlq1plaDqf2plFuw\nHz161GbpNabWsP3797dZalGY2h6mdtb33XefzVLr5XS8U7v31PLTtR9/38SJE232ve99z2Z9+vSx\nWWobPH36dJu59zC1+6xWLWv2ypUr2r17d8UsteZNbYldW9jmsdts9erVNkv1czOtQ9O5kL5vqvWU\npXa0jz32mM3Se7Fr1y6b9e3b12ap1XGqvWpbsbb02FTPqd3z4cOHbTZr1iybuffp+vXr9jHVqGW9\nNjU12TkqvdYf/vCHNvuDP/gDm5086YfzR3/0RzZL8/qbb75pMymv608//bTN7r77bpullueLFy+2\nWTpuX/3qV22WauuOO+6w2f79+222adMmm6W9QGpNnloytzSe1Hb6xRdftNnjjz9us0uXLtksHbf/\n9//+n82qUcuavXTpkm0Jnub1tE9LNfLMM8/YbM6cOVU9X2oHLkmNjf5SI+0b0+s/dOiQzdK+Kq0x\n69ats1m6Rkn72zTXjRo1ymZpXzx79mybpblFkhoaGmyWrqfS/nbkyJE2O3v2rM3c/iqNsVq1rNlr\n167p+PHjFTP3dSnvxfbs2WOzRx991GZpDk7Sey3l+Tvt41KWvmc6T1atWmWzP/uzP7PZ888/b7N0\n7Zz2NWn/l6571qxZY7OW9sVNTU02O3bsmM3SHOLuxUh5PuvUqfLPJ6U598P8RNM1Sf+mLMvpkj4m\n6atFUUyX9HVJL5dlOUnSy83/DaD9UbNAx0G9Ah0LNQt0LNQs0A5avNFUluXBsixXNP/5rKSNkkZI\nekLS+z8W8j1Jn2qtQQL48KhZoOOgXoGOhZoFOhZqFmgfN/QZTUVRjJV0m6R3JA0py/L93/M4pPd+\nHBFAHaFmgY6DegU6FmoW6FioWaDtfOgbTUVR9JL0U0n/qizL3/oQiPK9X7Ku+IvWRVF8pSiKZUVR\nLLtw4cJNDRbAh1eLmk2fLwCgdmpRr+kzEADUFvtioGNhnQXa1oe60VQURWe9V5j/uyzLnzV/+XBR\nFMOa82GSKn56VFmW3yrLcl5ZlvPSh04CqJ1a1Wz6EFkAtVGrek0fWAugdtgXAx0L6yzQ9lq80VS8\n1wbqbyVtLMvyrz8QPSvpi81//qIk38oCQJuhZoGOg3oFOhZqFuhYqFmgffieo//obkn/TNLaoije\n7zH47yT9paSniqL4kqTdkp78ME/o2vSldqypjXhqa53an6Y26qlN3+TJk23W0nhc22lJGjt2rM1S\nG8IktZFPxzS1eN2yZYvNUovb9DcABw4csFlqs5jaxLf02NS2+aWXXrLZI488YrPUotK11G2NNq6q\nYc126dLFtuxcu3atfdzgwYNt1rdvX5ul45HaIC9ZsqSqx0m5VfCwYcNsls6vHTt22Cy1CZ40aZLN\nUs2m1tNpHkjvRZo/z58/b7OFCxdWNRYpz8sDBgywWWrxmuoynaenTp2q+PU0xirVrF67deumadOm\n3fAA0vt58OBBm6XHpfq4cuWKzdavX28zSRo9erTN0vk8YsQIm504ccJmq1evttm//Jf/0mZvv/22\nzebPn2+zrVu32uz111+3WWrb/tnPftZmqYV8S786ffjwYZsNGeI/6iS1j041OXHiRJu99dZbNmsF\nNavZhoYGO7e5VtJSPk7pfP7c5z5ns7SOPvjggzbr0qWLzSTphRdesFnaG6a5p7HRX7688847Nhs+\nfLjN0jmb1vTt27fb7P7777dZup5Ic9nAgQNtlvZlkjRq1CibpTly5cqVNuvTp4/N0nvo9gNXr161\nj7kJNV1n3V4tnQvpNwTSNWA69umcdXuYlsYiSZs3b7ZZml/mzp1rs3TeprqcNWuWzdI80LNnT5ul\nczZ9z/Qa0uPSnifNu1K+RunWrZvN0vuU9lHp3HDXaOnarcUbTWVZLpHkdtZ+5QHQLqhZoOOgXoGO\nhZoFOhZqFmgfN9R1DgAAAAAAAHC40QQAAAAAAICa4EYTAAAAAAAAaoIbTQAAAAAAAKgJbjQBAAAA\nAACgJrjRBAAAAAAAgJpobMsnu3btmo4dO1Yx69Kli33cyJEjbXb27Fmb9evXz2b79++32fHjx212\n8uRJm0nSlClTqhrPuXPnbNajRw+bnTp1ymbpuKXHzZw502ZpnD179rRZ165dbdbY6E/DVatW2awo\nXKfS94wYMcJmu3btstnAgQNtdv36dZudOHHCZoMHD6749U6d6vteb1EUamhoqJilc/3y5cs269at\nm83SuZBqtlevXjYbMGCAzSSpqanJZlOnTrXZmTNnbPbAAw/YLL3+dF5eu3bNZu78kqQdO3bYLL1P\nb731ls0eeughm129etVmqbakPC9t2LDBZum4XbhwwWZvvPGGzfr371/x6+n1tberV6/aOpk0aZJ9\nXJqf03rwy1/+sqrvef78eZu1dI5s377dZn/6p39qs7T+du7c2WYLFiyw2aZNm2w2b948m02cONFm\nS5cutdnFixdtlubjN99802Zbtmyx2bhx42wmSbfccovNZsyYYbNUr88//7zNZs+ebbP58+fb7IUX\nXrBZPXD7ijQ/p/M5vS+p9tL+bs+ePTY7dOiQzaQ8h7j9hZT32+n9Tuv2zp07bZb2d2nemTBhgs3S\nej9nzhyb9enTx2bvvvuuzVqq2fQ+puccMmSIzdIeKl2HuPe+pb19e2tqatLp06crZmkvlupr9erV\nNhs0aJDNUv288847Nkv7KUnq3r27zaZPn26z4cOH2yzVc1ov0jm9ceNGm6U9SFrz3d5PyvvJ9evX\nV5WlvYKU55CVK1faLM3LkydPtlna47rr3PSY+r7KBQAAAAAAQIfBjSYAAAAAAADUBDeaAAAAAAAA\nUBPcaAIAAAAAAEBNcKMJAAAAAAAANcGNJgAAAAAAANSE7yXexlL7vtSiMLU1T639xowZY7MePXrY\nLLXDlqTDhw/bLLVuHz16tM1Sq9a9e/faLLUcTa8xjXPYsGE2S+/Fvffea7Mf/ehHNkstIVMLX0k6\nfvy4zcaOHWuz1L4ytRQ+evSozc6ePVvx66l9cb1btWqVzebOnWuzRYsW2Sy9Z6lt6pEjR2yWWolL\n0o4dO2y2e/dum6WaTfW1Zs0am6V58MCBAzb7wQ9+YLODBw/aLLVlTu1KU5va1N731KlTNpNye+nU\n8jjNS+l13HfffTbbt29fxa+n+bG9lWVp5/2tW7fax6VWxqkl84gRI2y2fPlym3Xp0sVmaR2Rchvk\ntF6kubZTJ/93bmvXrrVZqtdZs2bZ7Je//KXNnnrqKZslqXYeffRRm6W1ML2/knTt2jWbpXkgrbF3\n3HGHzZ5++mmbff7zn7dZvSvLsuLXXStpKb/fc+bMsdnFixdtltp6p3Vy6NChNpOkW2+91WZpT/34\n44/bLO0V3nrrLZulNe+ee+6x2W233WazP/qjP7KZ2/tJed5Nc0va+6bzQpIGDhxYVZbGs27dOpuN\nHDnSZitWrKj49bRm14Nr167ZvUza+6W1K61BDz30kM3Serlt2zabtbQXS3WZXke67k57uF27dtns\n/PnzNtu4caPN0jVwnz59bOb2fpLUu3dvm73++us2S7WVjouU99sNDQ02S3vVtAZ37tzZZm7+TPdp\n+IkmAAAAAAAA1AQ3mgAAAAAAAFAT3GgCAAAAAABATXCjCQAAAAAAADXBjSYAAAAAAADUBDeaAAAA\nAAAAUBNt2qe5LEvbtjK1dkytDQcMGGCzyZMn22zMmDFVPd8jjzxiM0nauXOnzVIbxnHjxtns6NGj\nNjt9+nQcj5PazU6frXpaeQAAEJZJREFUPt1mqWVxaqv661//2mYvvPCCzaZNm2az1G5Vyu3nz5w5\nY7PUKj09Z2pr6lo/ptaU9eD69eu2DWZqsevaNUvS0qVLq3pcylKL7tQ2Vco1nVrCp+zKlSs2S+1R\n0xyR2tHOnDnTZun1vfvuuzZ78MEHbZbqIB2XX/3qVzaTpPHjx9sstYlOLatTraeW3ZcvX6749Zba\nR7enhoYGe34NHz7cPi61+l21alV8PscdP0navXu3zdJa2NJzHjlyxGap5Xtq9ZvqNbVBTnuB1AI6\nzavpPVy+fLnN0l4ozQ+XLl2yWUvfN7WYTzWUzrfUIrqe6zJpbGy0r+vw4cP2cd27d7dZmmePHz9u\ns3QML168aLO0/krSU089FXNn/fr1NktrXpcuXWyW2nCvWbPGZml/l/Ym+/fvt9nQoUNtltatNJb0\nPaXc8jzVrLt2a+k5ly1bZrN63/86DQ0Nds1M14/pPV24cKHN7rrrLpuleSDV+siRI20m5eunXr16\n2SytwXv37rXZE088YbO0P0nHO+1TU5bW2dWrV9ts/vz5Nqv2vJDy/ZFJkybZLL3/qWabmppsdvLk\nyRt+DD/RBAAAAAAAgJrgRhMAAAAAAABqghtNAAAAAAAAqAluNAEAAAAAAKAmuNEEAAAAAACAmmjx\nRlNRFKOKonilKIoNRVGsL4riz5u//o2iKPYXRbGq+Z/HWn+4AFpCzQIdB/UKdCzULNCxULNA+/B9\nLv/RNUn/pizLFUVR9Ja0vCiKF5uz/1yW5X/6sE/WqVMn9ezZs2KWWqcWRWGz1Ja4Ndph33nnnTaT\npHvuucdmqa17agl57do1m50+fdpmqXXoM888Y7Nf/OIXNkvtb+fOnWuz1J6xX79+Nps4caLNDh48\naDMpt+BM7WhT+9cktV527axbqSVzm9TslStX7ONS9sILL1T1uGPHjtns61//elXfU5JOnTpls3T+\nDRkyxGauBWhL41m8eLHN0jywfft2m6X5c8GCBTZLbXNTzaZW1wMGDLCZJO3Zs8dmaT5LY01tsFN7\nevcepvehSjWr1/Pnz+udd96pmKU1L60jqbXwpk2bbPbJT37SZqn9eGqjLeW15Lbbbqvq+6bXkdr2\npj3GF77wBZv9+Mc/tlmqydQqfdiwYTZL+4v0uLQvk6T/8l/+i81uvfVWmx04cMBmad2eNWuWzdIc\n2ApqVrNlWdpzLM1rab8xaNAgm6UW9v/3//5fm6U22r/5zW9sJuX91rRp02w2ffp0m504ccJmY8aM\nsVlaD9P3nDFjhs1S2/bPfOYzNlu3bp3N0nqXrkOOHj1qMynvo6ZOnWqz9BovXbpks7T+uteYzvub\nULOaLYpCnTt3rpilY5HWoGr3d25/LuX9TapnSbr99tttlq6R09x+/Phxm6XX0bt3b5ulNXjLli02\nS9erXbt2tdmiRYts5vZeUr5X0aNHD5u1NJ50/TJlyhSbpfMtvb9u7xavqW3yjw8+KOlg85/PFkWx\nUdKIlh4HoH1Qs0DHQb0CHQs1C3Qs1CzQPm7oM5qKohgr6TZJ79+2+1pRFGuKovhOURT9azw2ADeJ\nmgU6DuoV6FioWaBjoWaBtvOhbzQVRdFL0k8l/auyLM9I+u+SJkiao/fuEv+VedxXiqJYVhTFspZ+\nDBtA7dSiZtOPUAKonVrU6+XLl9tsvMBHXS1q9ty5c202XuCjrhY1e/78+TYbL9DRfagbTUVRdNZ7\nhfm/y7L8mSSVZXm4LMumsiyvS/q2pPmVHluW5bfKspxXluW8Vvq9WwC/o1Y1mz6fBUBt1Kpe0+/y\nA6idWtVs+kwqALVTq5pNnycE4Ld9mK5zhaS/lbSxLMu//sDXP/gJkp+W5D/VDkCboWaBjoN6BToW\nahboWKhZoH18mPZad0v6Z5LWFkWxqvlr/07S54uimCOplLRL0r9olRECuFHULNBxUK9Ax0LNAh0L\nNQu0gw/TdW6JpEr9QJ+70Se7fv26bf2Y2h337+8/my21h0+ttHfs2GGz1GpwyZIlNpOkjRs32iz9\niPTQoUNtNnLkSJulVqarV6+2WWrxmn4sNLVXfumll2yWPjtk3LhxNkvnRXqcJG3YsMFmo0ePripL\nbUZT+1fXnjO9D9Wqdc2630dP7Xd3795ts4kTJ9pszZo1Nkuty//X//pfNluxYoXNpNy+PbUATa22\nUyvTrVu32iy1Gk+tkCdPnmyzbt262Sy9vtQiOv0adHrtKZNyy+7UGje1p09jTfXnjk1q41qNWtZr\nz549bevrK1eu2MeltTK1z01t1E+ePGmzdN6llryS9PTTT9vs4x//uM0effRRm7355ps2e/XVV21W\n7VqZzvM0lo997GM2S3uhO+64w2bp9c2fX/G3SD7U9+3bt6/NUkvqdJ6mPVRLc0st1bJmm79fxa+n\nVulr16612YgRvplWaje/bds2m6VzfezYsTaTpGnTptksrb9pXk97w/Q901578eLFNktrRdqjp31o\nY6O/BEtt4tPc2tL6NH36dJuluaepqclm6Zim9cPNWVevXrWPqVYta7ZTp072OrFTJ/+LQoMHD7ZZ\n+qy2b33rWza79957bZbGktZgKa+zaax79uyx2enTp22Wrq3nzp1rM3dtJeXXmOokXb8sWrTIZmnP\nnObkGTNm2EySXnzxRZula4Z07yStLWkNdvvpdK7dUNc5AAAAAAAAwOFGEwAAAAAAAGqCG00AAAAA\nAACoCW40AQAAAAAAoCa40QQAAAAAAICa4EYTAAAAAAAAasL31myNJ2tstG2UU6vSJLUQTu04Uyvg\n1NovfU9JtuWlJK1cudJmqd1xGmtqF5lap6Z2s6kl4tSpU222atUqmw0ZMsRm6T1MrRtTu10pt7g9\nduyYzVLr2NRKM7Uu3bt3b8Wv17pVeq0VRWFr88iRI/Zx48aNs1lqXTtp0iSbpTa5qWXvrbfeajNJ\nunz5ss22bt1qs8mTJ9ssnUOpFfDRo0dt9od/+Ic2a2hosNn27dttlpw/f95mbh6XpK5du9qspRbk\nqS7T903jSW2i09zq2rjWs1SvqaX8mTNnbJbek3379tksrSOpFW7nzp1tJklf+MIXbPbXf/3XNnvr\nrbdsltaK48eP22zKlCk2+9nPfmazdL4+8MADNkttl+fMmWOzlo6pk95fSXrjjTds9uijj9osjfXw\n4cM227Ztm83S+lvPrl69aueoQYMG2celvUh631IL7vS+pD16WkOlvOan77tu3TqbpXU9zes//elP\nbda3b1+bLViwwGZr1qyxWWojnvY0af+e2su3VOubNm2yWa9evap6zrSPTfudtDbXs6Io7BqWrlnS\neZmO4fjx46v6nmkfmjKpuhb3krR48WKbpVpI51eSzqF07h06dMhmf/Inf1LV86X9e9qjL1++3GYt\nPTbtqdNammo9vfcuS/dG+IkmAAAAAAAA1AQ3mgAAAAAAAFAT3GgCAAAAAABATXCjCQAAAAAAADXB\njSYAAAAAAADUBDeaAAAAAAAAUBNFW7ZXL4riqKT3+/MOkuT7Jre9ehoPY6msnsYi1WY8Y8qyrNu+\nzHVcs/U0Fqm+xsNYKqvVWOq2Zn+nXqXfz+NfC4zFq6fxfNRqtp6OvVRf42EsldXTWCT2xe2pnsYi\n1dd4GEtlrb7GtumNpt964qJYVpblvHZ58grqaTyMpbJ6GotUf+NpbfX0eutpLFJ9jYexVFZPY2kr\n9fSaGUtl9TQWqb7GU09jaQv19nrraTyMpbJ6GotUf+NpbfX0eutpLFJ9jYexVNYWY+FX5wAAAAAA\nAFAT3GgCAAAAAABATbTnjaZvteNzV1JP42EsldXTWKT6G09rq6fXW09jkeprPIylsnoaS1upp9fM\nWCqrp7FI9TWeehpLW6i311tP42EsldXTWKT6G09rq6fXW09jkeprPIylslYfS7t9RhMAAAAAAAB+\nv/CrcwAAAAAAAKiJdrnRVBTFI0VRbC6KYltRFF9vjzF8YCy7iqJYWxTFqqIolrXD83+nKIojRVGs\n+8DXBhRF8WJRFFub/92/HcfyjaIo9jcfn1VFUTzWRmMZVRTFK0VRbCiKYn1RFH/e/PU2PzZhLO1y\nbNoDNfsPz1039RrG0+bnZT3Vawvj+UjUbD3Va/N4qFk/FtbYj3i9SvVVs+1Zr83PT81WHgs1W0eo\n2X947rqp1zAe9sXtVLNt/qtzRVE0SNoi6WFJ+yQtlfT5siw3tOlA/nE8uyTNK8vyWDs9/yJJ5yR9\nvyzLmc1f+6akE2VZ/mXz5NW/LMv/r53G8g1J58qy/E+t/fy/M5ZhkoaVZbmiKIrekpZL+pSkf642\nPjZhLE+qHY5NW6Nmf+u566Zew3i+oTY+L+upXlsYz+99zdZbvTaPaZeo2bqp1+bnrZua/SjXq1R/\nNcu+uMWxfEPULDVLzb7/3HVTr2E83xD74nap2fb4iab5kraVZbmjLMsrkv5O0hPtMI66UJbl65JO\n/M6Xn5D0veY/f0/vnQjtNZZ2UZblwbIsVzT/+aykjZJGqB2OTRjLRwU126ye6jWMp83VU722MJ6P\nAur1A+qpZuulXqX6qtmPeL1K1OxvoWYro2brCjXbrJ7qNYynzdVTvbYwnlbVHjeaRkja+4H/3qf2\nnZxKSb8qimJ5URRfacdxfNCQsiwPNv/5kKQh7TkYSV8rimJN848jttmPP76vKIqxkm6T9I7a+dj8\nzlikdj42bYSazeqtXqV2PC/rqV4rjEf6/a/ZeqtXiZptCWts5bFIv//1KtVfzdZbvUrU7G+hZtsd\nNZvVW71K7IvdeKRWPDZ8GLi0sCzLuZIelfTV5h+5qxvle7/b2J6tAf+7pAmS5kg6KOmv2vLJi6Lo\nJemnkv5VWZZnPpi19bGpMJZ2PTYfYXVbs3VQr1I7npf1VK9mPNRs+6BmPdZYPxbqtX3Ubb1K1Cw1\niwrqtmbroF4l9sVpPK16bNrjRtN+SaM+8N8jm7/WLsqy3N/87yOSntZ7Pw7Z3g43/y7l+79TeaS9\nBlKW5eGyLJvKsrwu6dtqw+NTFEVnvVcM/7ssy581f7ldjk2lsbTnsWlj1GxWN/Uqtd95WU/16sbz\nEanZuqpXiZpNWGP9WD4i9SrVWc3WYb1K1KwkaraOULNZ3dSrxL44jae1j0173GhaKmlSURTjiqLo\nIulzkp5th3GoKIqezR+IpaIoekr6uKR1+VFt4llJX2z+8xclPdNeA3m/GJp9Wm10fIqiKCT9raSN\nZVn+9QeiNj82biztdWzaATWb1U29Su1zXtZTvabxfERqtm7qVaJmW8Ia+5GvV6mOarZO61WiZqnZ\n+kLNZnVTrxL74jSeVj82ZVm2+T+SHtN7n9a/XdJftMcYmscxXtLq5n/Wt8dYJP1Y7/2o2lW99zu+\nX5I0UNLLkrZKeknSgHYcyw8krZW0Ru8Vx7A2GstCvffjhGskrWr+57H2ODZhLO1ybNrjH2r2H56/\nbuo1jKfNz8t6qtcWxvORqNl6qdfmsVCzeSyssR/xem0+BnVRs+1dr81joGYrj4WaraN/qNl/eP66\nqdcwHvbF7VSzRfOTAwAAAAAAADeFDwMHAAAAAABATXCjCQAAAAAAADXBjSYAAAAAAADUBDeaAAAA\nAAAAUBPcaAIAAAAAAEBNcKMJAAAAAAAANcGNJgAAAAAAANQEN5oAAAAAAABQE/8/hsBYzIPVD9cA\nAAAASUVORK5CYII=\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"markdown","metadata":{"id":"i02IbJ2gtkTT","colab_type":"text"},"source":["## 5. Inspecting gradients"]},{"cell_type":"markdown","metadata":{"id":"-uuktPZ9CX8W","colab_type":"text"},"source":["We can also evaluate the gradients of each output with respect to an input:"]},{"cell_type":"code","metadata":{"id":"L371n9COtkTU","colab_type":"code","outputId":"f896f393-320e-4b5d-a712-9772393c8b49","executionInfo":{"status":"ok","timestamp":1579626504871,"user_tz":-60,"elapsed":764,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["idx = 111\n","inp_v = x_train[idx:idx+1] # use some image to compute gradients with respect to\n","\n","inp = tf.constant(inp_v) # create tf constant tensor\n","with tf.GradientTape() as tape: # gradient tape for gradint evaluation\n"," tape.watch(inp) # take inp as variable\n"," preds = model(inp) # evaluate model output\n","\n","grads = tape.jacobian(preds, inp) # evaluate d preds[i] / d inp[j]\n","print(grads.shape, '<- (Batch_preds, preds[i], Batch_inp, inp[y], inp[x])')\n","grads = grads.numpy()[0,:,0]"],"execution_count":0,"outputs":[{"output_type":"stream","text":["(1, 10, 1, 28, 28) <- (Batch_preds, preds[i], Batch_inp, inp[y], inp[x])\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"83mY_1BKiIIB","colab_type":"code","outputId":"8b2d8cc4-66af-423d-cad2-a572f2dbbd2f","executionInfo":{"status":"ok","timestamp":1579183560468,"user_tz":-60,"elapsed":2515,"user":{"displayName":"Mykhailo Vladymyrov","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBK1WwXLr7Hboa2EyHMFHth-Gej2jQKYsBQP4TXog=s64","userId":"10465379065431394851"}},"colab":{"base_uri":"https://localhost:8080/","height":308}},"source":["print('prediction:', np.argmax(preds[0]))\n","fig, axs = plt.subplots(1, 11, figsize=(4.1*11,4))\n","axs[0].imshow(inp_v[0])\n","axs[0].set_title('raw')\n","vmin,vmax = grads.min(), grads.max()\n","for i, g in enumerate(grads):\n"," axs[i+1].imshow(g, cmap='gray', vmin=vmin, vmax=vmax)\n"," axs[i+1].set_title(r'$\\frac{\\partial\\;P(digit\\,%d)}{\\partial\\;input}$' % i, fontdict={'size':16})"],"execution_count":0,"outputs":[{"output_type":"stream","text":["prediction: 3\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"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\n/YR26Se0TUehXfoJ7dJPaJd+Qtt0FNqln9Au/YSFczlfxQsAAAAAAAAAAAAsMAv7AAAAAAAAAAAA\noCEW9gEAAAAAAAAAAEBDLOwDAAAAAAAAAACAhljYBwAAAAAAAAAAAA0ZvtoDAAAAgCuhlBIrVvR/\nP9vU1FS639DQUJqNjIykWdd5zszMzHu/Ukq6T3a9IiI2b96cZtPT02l29OjRNBsezl8+WLNmTZqd\nOnUqzbpuy3PnzqVZl679zp8/P9B5Zrru767ba+PGjQNdXtfvUNflAQyi1po+7nQ9fk9OTqZZ17xW\na730wc2RzYerV69O9zlx4kSaHT58OM265pHx8fGBsq7rvWHDhjSbmJhIs7GxsTR78skn06xrntm5\nc2eaZbdL1+9Cl65xHDp0KM1GR0cHuryuYyoAAAC42jxrBQAAAAAAAAAAgIZY2AcAAAAAAAAAAAAN\nsbAPAAAAAAAAAAAAGmJhHwAAAAAAAAAAADTEwj4AAAAAAAAAAABoiIV9AAAAAAAAAAAA0JDhqz0A\nAAAAaMn4+HiazczMpNmRI0fSbNWqVfPOtmzZku6zfv36gcYxMjKSZjfccEOa7du3L83OnTuXZhs2\nbEizycnJNNu1a1eaHTx4MM2ee+65NOu67tlt3XVbXnfddWm2bt26NNu/f3+arVy5Ms1OnTqVZl2/\nswCDqLXGxMRE36zr8fTo0aNptmbNmjTbuHFjmp05cybNpqam+m7/6Ec/mu6zZ8+eNHvLW96SZl26\nrnfXXPjiF784zYaH85fuDx06lGYPPvhgmt12221p1nW/HjhwIM1Onz7dd3vX3HT48OE0K6Wk2ejo\naJp16bots98hAAAAaIFP7AMAAAAAAAAAAICGWNgHAAAAAAAAAAAADbGwDwAAAAAAAAAAABpiYR8A\nAAAAAAAAAAA0xMI+AAAAAAAAAAAAaIiFfQAAAAAAAAAAANCQ4as9AAAAALgSaq0xNTXVN5uZmUn3\nGxkZSbNDhw6l2djYWJqtWJG/ry67vI0bN6b7rFq1Ks1Onz6dZpOTk2nWdZsMDQ2lWdd1O3v2bJqd\nP38+zZ599tk0q7Wm2aZNm9Js7dq1aXbu3Lm+2w8ePJju03VbPv7442lWSkmzrt+97HcZ4EoopaSP\nSV2PVV2P+13ZypUr02zr1q3zPs+uOfmmm25Ks5tvvjnN9uzZk2Zdc0zXfLd///4067pNuubs9evX\np1nXvPboo4+m2fBw/meEW265pe/2L//yL0/36bp/RkdH02zv3r1pdvjw4TTbvHlzmmXzctd1BgAA\ngMXiE/sAAAAAAAAAAACgIRb2AQAAAAAAAAAAQEMs7AMAAAAAAAAAAICGWNgHAAAAAAAAAAAADbGw\nDwAAAAAAAAAAABpiYR8AAAAAAAAAAAA0ZPhydi6lPB0RJyNiOiKmaq13L8SggIWho9Au/YR26Se0\nbb4dXbGi//vZpqen033OnTuXZrXWNBsdHU2zmZmZNNuxY0ff7efPn0/32bt3b5odO3YszU6fPp1m\nK1euTLObb745zdatW5dmk5OTA2UnTpxIs7Nnz6ZZ13Xo2u+5557ru73rPv385z+fZjfeeGOadV23\n8fHxNOsafyvModCu+faz1prOldncGhExPJy/3HzTTTel2eHDh9Nsz549afbII4/03d41h951111p\n1jWPdO03NTWVZg899FCaPfzww2nWZfXq1WnWNXetWbMmzbrm+omJiTTLjkkOHDiQ7vOyl70szT7y\nkY+kWdd16zoe6dL1+7xYzJ/QNh2FdukntEs/YeFc1sK+njfVWg8twPkAV4aOQrv0E9qln9A2HYV2\n6Se0Sz+hXfoJbdNRaJd+Qrv0ExbA1X87GgAAAAAAAAAAAPDnLndhX42I3y+lfKqU8q5+JyilvKuU\ncl8p5b7zkX+dEXBFdHZ0bj+7vm4MuCLmNYfqKCwq/YS2OcaFdukntGtex7hdX5cOLDjPQaFtjnGh\nXeZQaJd+wgK53K/i/eJa67OllK0R8QellEdrrR+be4Ja63sj4r0REevKpnqZlwfMT2dH5/Zz48aN\n+gmLa15zqI7CotJPaJtjXGiXfkK75nWMu2HDBh2FxeM5KLTNMS60yxwK7dJPWCCX9Yl9tdZne/8/\nEBEfjIgvWohBAQtDR6Fd+gnt0k9om45Cu/QT2qWf0C79hLbpKLRLP6Fd+gkLZ+CFfaWU8VLK2gv/\njoi3RMSDCzUw4PLoKLRLP6Fd+glt01Fol35Cu/QT2qWf0DYdhXbpJ7RLP2FhXc5X8V4fER8spVw4\nn1+qtf7ugoxqEZS7X5Fm+1+3ru/26/7sbLrPiZtH02xyXUmz4y+dTrMn3vaeNGvJUMnXh07XmQXd\n7zU//Z3pPjf+t8P5+T30WJotY0u6o7DM6Se0Sz+hbQvW0ZGRkTTbs2dPmu3YsSPNVq5cmWbT0/lz\nv7Gxsb7bJycn032mpqbSbO3atWl2/vz5NOsa/+nTp9Ps1KlTaTY0NJRmGzZsSLOtW7em2ZkzZ9Js\nZiZ/Dnr06NE0y+6fNWvWpPtcd911adZ1O3fdlsePH0+zrtuk67otInMotGugfvZO/xd0PQ6/+tWv\nTrNHH300zXbv3p1mN9xwQ5oND/d/eXt8fDzd58iRI2l24MCBNFu3rv9rxhERmzZtSrOuOWHFivz1\n0ez4ICJi3759adZldDR/DbtrLNdff32a3XjjjX23f+5zn0v36bq9uua7rtty165dafb444+nWdf9\nukjMn9A2HYV26Se0Sz9hAQ28sK/W+lRE5K/UAFeVjkK79BPapZ/QNh2FdukntEs/oV36CW3TUWiX\nfkK79BMW1sBfxQsAAAAAAAAAAAAsPAv7AAAAAAAAAAAAoCEW9gEAAAAAAAAAAEBDLOwDAAAAAAAA\nAACAhgxf7QFcUSuG0uhzb1ubZg++42f6bv/Fk9vTfd64+qk02zm8Os26zAy01+KbqdOLtt+nv7v/\nfRMRcWf9rjTb8dC8LwoAAFjiSimxYkX/97Nl2yMiNmzYkGZbtmzpvLzMM888k2Znzpzpu/348ePp\nPl3Z5ORkmg0P5y8DjI+Pp1nX7XX27NmBxnL06NE0O3XqVJqtXp0/x56ezp9nDnr9MqOjo2l28uTJ\nNOv6/Vq1alWanTt37tIGBrBApqam+m7P5q2IiJUrV6ZZ135d81PX3DsxMdF3+8xM/spq1xhf8YpX\npNnevXvTbP/+/WnWNSd0zSVdc8IrX/nKNOu67l3z8rp169Ls2LFjaTY01P81+Gx7RPftdeONN6bZ\niRMn0qzr/um6nbPf81prug8AAAAsFp/YBwAAAAAAAAAAAA2xsA8AAAAAAAAAAAAaYmEfAAAAAAAA\nAAAANMTCPgAAAAAAAAAAAGiIhX0AAAAAAAAAAADQEAv7AAAAAAAAAAAAoCHDV3sAV9Lw1uvS7MF3\nvHve5/dNa/d2pKvnfX6teWbqbJr9+P43p9m7b/jjKzGcefv09/xMmn3NT9y1iCMBAABaUGuN8+fP\n982GhobS/bZt25Zm+/fvT7MNGzakWSklzfbt29d3e6013WdsbCzNRkZG0qxrjGfP5s8JszFGRExM\nTKTZddflz8tPnjw50FhGR0fTbMuWLWk2Pj6eZqtWreq7fWZmJt3n3LlzaXb69Ok0O3PmTJrdeuut\n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\nXfoJi+MFP7Gv1vqNSfQVCzwWYAA6Cu3ST2iXfkLbdBTapZ/QLv2EtukotEs/oV36Ce3ST1gcL/iJ\nfQAAAAAAAAAAAMDisbAPAAAAAAAAAAAAGmJhHwAAAAAAAAAAADTEwj4AAAAAAAAAAABoyPDVHsC1\nYHJ9fjOPDC3u2srJr7w7zZ7+6yXNvuRVj6XZz930wQFHs2rA/fr71z/9jWm2NT6+oJcFAAAsbePj\n42k2MzOTZmfPnk2zrVu3ptnIyEiaHTlypO/2EydOpPscPXo0zU6fPp1mo6OjaTY8nD933bZtW5p1\n3V7r169Ps02bNqVZ1zgnJibS7NixY2nWZXp6el7bIyLOnz+fZl3j77pNhoaG0qzrenddHsCgssf3\nqampdJ+ux7Hrr78+zboebw8cOJBmX/zFX9x3+5133pnuMzY2lmZdc+GDDz6YZk8//XSa/dEf/VGa\nPfvss2n2zDPPpNnx48fTrMsNN9yQZl3HD1u2bEmz7Jiq1prus27dujTLjosiIm6++eY0KyV/bfvM\nmTNplt3nXecHAAAAi8Un9gEAAAAAAAAAAEBDLOwDAAAAAAAAAACAhljYBwAAAAAAAAAAAA2xsA8A\nAAAAAAAAAAAaYmEfAAAAAAAAAAAANMTCPgAAAAAAAAAAAGjI8NUewHIx+dbXptnMUEmzr/34k2n2\n0lV7L2tM/Vw/9PE0u23lqgW/vEG99/iuvtt/++1vSPfZ9vkH0mzmcgcEAAAsObXWmJnp/2xgaGgo\n3W98fDzNRkdHB8pOnz6dZlu2bOm7/eDBg+k+GzduTLPh4fyp/ubNmwc6z1Wr8ueL69evT7NTp04N\ndJ5d90/X5R0/fjzNdu/enWbZfb5u3bp0nw0bNqTZyZMn0+yJJ55Is677Z8WK/L2ZtdY0AxhEKSV9\nnC4lf63z6NGjA13e2NhYmnXNr9njftd8cN9996VZ1+P3vffem2aPPfbYQFnXXN81J3TNhV33z7lz\n59Js27ZtafaKV7wizZ599tm+27uu29TUVJplx24R3fPdnXfemWZdt+XExETf7V23IwAAACwWn9gH\nAAAAAAAAAAAADbGwDwAAAAAAAAAAABpiYR8AAAAAAAAAAAA0xMI+AAAAAAAAAAAAaIiFfQAAAAAA\nAAAAANAQC/sAAAAAAAAAAACgIcNXewBLybG/8/o0e/+P/ds0u33lyJUYzoBWXe0B/LlfOHFDmn3o\nHV/WP3jwgSszGAAAYFmqtfbdPjQ0lO5z9uzZNLvhhvx5zJEjR9Js5cqVaZbZvHlzmg0P50/nt2/f\nnmZjY2Npdt1116XZyEj+vHbFivw9g6Ojo2k2PT2dZidPnkyzrtsyu78juu/zM2fO9N3edd0mJibS\nrMvatWvTrOu6XX/99Wl24sSJgcYCkCmlpI+be/bsSffbtm1bmnXNk5OTk2m2a9euNHvkkUf6bn/y\nySfTfT772c+m2bPPPptmXY+1jz32WJodP348zQadZ7qOA170ohel2enTp9Osaw49evRompVS+m7v\nOq547rnn0uzgwYNplt3fEd3z/O7du9NsfHy87/aZmZl0HwAAAFgsPrEPAAAAAAAAAAAAGmJhHwAA\nAAAAAAAAADTEwj4AAAAAAAAAAABoiIV9AAAAAAAAAAAA0BAL+wAAAAAAAAAAAKAhFvYBAAAAAAAA\nAABAQ4Zf6ASllPdHxNdExIFa6yt6234kIr4tIg72TvYDtdbfuVKDbMXhV+bZ7StHFm8gy8Svf+OX\n5+H9DyzeQJY4HYV26Se0Sz+hbYvR0ZUrV6bZ9PT0QPutWJG/d25ycjLNJiYm+m5ftWrVQOPouqwj\nR46kWSklzbps3LhxoPMcGhpKs+Hh/OWKU6dOpVnX7bJmzZo0O3ToUN/tx44dS/fZvn17mnXtV2tN\ns67rdsstt6TZuXPn0myhmUOhXQvZz1prnD9/vm925syZdL89e/akWXZ+ERE33nhjmp0+fTrNMuPj\n42m2d+/eNBsbG0uzbL6OiNi6dWua3XzzzWn23HPPpVnXXDg1NZVmXbdz1zjPnj2bZl232Y4dO+Z9\nfsePH0+zmZmZeV9WRMTmzZvT7D3veU+a3X777X23d93GgzB/Qtt0FNqln9Au/YTFcSmf2HdPRLy1\nz/Z/V2t9Te8/RYSr557QUWjVPaGf0Kp7Qj+hZfeEjkKr7gn9hFbdE/oJrbon9BNadk/oKLTqntBP\naNU9oZ9wxb3gwr5a68ciIn9LP3BV6Si0Sz+hXfoJbdNRaJd+Qrv0E9qln9A2HYV26Se0Sz9hcVzK\nJ/ZlvrOU8plSyvtLKen37pRS3lVKua+Uct/5WLyvhgFeuKNz+7mYX90EzH8O1VFYNPoJbZvXMW7X\nV9ICC85zUGiXY1xol35C2xzjQrvModAu/YQFNOjCvvdExK0R8ZqI2BsRP5mdsNb63lrr3bXWu1fG\n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\n3k9YdzoKdekn1LWT/WytZf/+/XNnm5ubw+0uX748nO3bN/40+tixY8PZ0aNHh7NTp05te5v77rtv\nOLt48eJwdv78+eFs6pxsbGwMZ1Pe97733VKWPXvGX4c49TE4cuTIcHbhwoXhbHTsU/t6+umnh7OD\nBw8OZ4cOHRrOTpw41AW4WwAADolJREFUMZzd6jnZSdZPqG2n19C9e/duO8PJkyeHs6k1YWrNe+aZ\nZ4azT3/603Mfn3rNf/HFF4ezu+++ezh79tlnh7Otra3hbOq4L126NJxNve5PHd+ZM2eGsw996EPD\n2dR5OXfu3HA2OmcHDhwYbvPYY48NZ1P5v/Od7wxnU9cxo+vBZLxmt9aG29wKayjUpZ9Qm45CXfoJ\ny3Ez//J7Jcm/6b1/tbV2JMlXWmt/NJv9Zu/91xYXD7gB/YTadBTq0k+oSz+hLv2E2nQU6tJPqEs/\noTYdhbr0E5bghjf29d5fTvLy7O23WmvPJ7l30cGAG9NPqE1HoS79hLr0E+rST6hNR6Eu/YS69BNq\n01GoSz9hOcbfz3+O1tqDSX4syZ/OHvr51tqzrbXfba0d3+FswDboJ9Smo1CXfkJd+gl16SfUpqNQ\nl35CXfoJteko1KWfsDg3fWNfa+2OJH+Q5Bd67+eSfC7Jjyb5eK7ehfvrg+1+trX2dGvt6cu5uAOR\ngffaiX5evKifsCg6CnXpJ9Sln1CXfkJtOgp16SfUpZ9Qm45CXfoJi3VTN/a11vbnahF/v/f+5STp\nvb/Se9/svW8l+Z0kj87btvf+hd77J3rvn9ifgzuVG5jZqX4ePKifsAg6CnXpJ9Sln1CXfkJtOgp1\n6SfUpZ9Qm45CXfoJi3fDG/taay3JF5M833v/jWsev+eav/bZJM/tfDxgin5CbToKdekn1KWfUJd+\nQm06CnXpJ9Sln1CbjkJd+gnLse8m/s7fTvLPkpxqrT0ze+yXk/xUa+3jSXqS00l+biEJC2lP/tlw\nduLJJQa5gc1VB2CZ9BNq01GoSz+hrh3rZ+89ly5dmju7+u9O2zd6f0ny1ltvDWeXL18ezh544IG5\nj+/bN/6U/d577x3Ozp8/P5y9/vrrtzQ7efLkcHbXXXcNZ1NfbTv1IzamjuHuu+++pSwXLlwYznrv\ncx+/cuXKcJupczL1PNm7d+9wNvW83NrauqX97TDrJ9S2o2vo6LVx//79w+2mXqsOHz48nD388MPD\n2UMPPTSc7dkz/+vWjxw5Mtzm1VdfHc7OnTs3nE3l/+AHPzicbWxsDGenTp0azqauAx555JHh7MSJ\nE8PZN7/5zeHsjTfeGM6OHz8+nI0+BmfOnNn2NjfabuqcTJl6Xi7xO4NYQ6Eu/YTadBTq0k9Yght+\nJtx7/99J5v3L8hM7HwfYDv2E2nQU6tJPqEs/oS79hNp0FOrST6hLP6E2HYW69BOW44Y/ihcAAAAA\nAAAAAABYHjf2AQAAAAAAAAAAQCFu7AMAAAAAAAAAAIBC3NgHAAAAAAAAAAAAhbixDwAAAAAAAAAA\nAArZt+oAAAAAsAittezfv3/urPc+ud3I7bffPpxtbm4OZ/v2jT/9Hu1vKuMLL7wwnE1lPHjw4HD2\n0EMPDWdT5+R73/vecHbx4sVbynLnnXcOZ1PHd+HCheFsyuj47rjjjuE2U8e2d+/e4WzqeTJ6vibJ\nlStXhrM9e3zdJrCzeu/D152p16Mply5d+mEizTV6/Z5atz72sY8NZ+fOnRvOpvJ/7WtfG86m1rv7\n779/OHvttdeGs2984xvD2dT1w8bGxnB2+PDh4ey2224bzkZr3tbW1nCbqXVr6nxNraFT+5taX6fO\nFwAAAKyaf/kFAAAAAAAAAACAQtzYBwAAAAAAAAAAAIW4sQ8AAAAAAAAAAAAKcWMfAAAAAAAAAAAA\nFOLGPgAAAAAAAAAAACjEjX0AAAAAAAAAAABQSOu9L29nrb2W5BuzP74vyZml7XyaLNerkiOpk2Wn\ncjzQe3//DryfHfWefia777zvhCpZquRIdl+Wkv1MrKE3oUqOpE6WKjkS/VyVKlmq5EhkmWed+pns\nrvO+U6pkqZIjqZPF56CrUSVHIss8VXIk67WG7rbzvhOq5EjqZKmSI1mvfiZ1zn2VHEmdLFVyJHWy\nuMZdjSo5ElnmqZIjWa81dLed951QJUdSJ0uVHIl+roos16uSI6mTZaHXuEu9se8Hdtza0733T6xk\n5+8hS90cSZ0sVXIsS5XjrZIjqZOlSo5EllWpdKxVslTJkdTJUiVHUivLolU61ipZquRIZKmcY1mq\nHG+VHEmdLFVyJHWyVMmxLFWOt0qORJbKOZJaWRat0rFWyVIlR1InS5UcSa0sy1DleKvkSOpkqZIj\nqZOlSo5lqXK8VXIkslTOkdTKsmiVjrVKlio5kjpZquRIamVZtErHKkvdHEmdLIvO4UfxAgAAAAAA\nAAAAQCFu7AMAAAAAAAAAAIBCVnlj3xdWuO/3kuV6VXIkdbJUybEsVY63So6kTpYqORJZVqXSsVbJ\nUiVHUidLlRxJrSyLVulYq2SpkiORZZ4qOZalyvFWyZHUyVIlR1InS5Ucy1LleKvkSGSZp0qOpFaW\nRat0rFWyVMmR1MlSJUdSK8syVDneKjmSOlmq5EjqZKmSY1mqHG+VHIks81TJkdTKsmiVjrVKlio5\nkjpZquRIamVZtErHKsv1quRI6mRZaI7We1/k+wcAAAAAAAAAAAC2wY/iBQAAAAAAAAAAgELc2AcA\nAAAAAAAAAACFrOTGvtbaP2itvdBa+3pr7RdXkeGaLKdba6daa8+01p5e4n5/t7X2amvtuWseu6u1\n9kettb+a/X58hVkeb619a3ZenmmtfWoJOe5vrf2v1tpftNb+vLX2r2ePL/28TGRZ+nlZNv18Z98l\nOqqf28qy6/uZ1Omoftbp52y/JTqqn/pZpZ8TWayha9rRKv2cZVn7jurntrLo53Kz6GeRfs72W6Kj\n69zPpE5H9XMyy9quofpZo5+zLP6fRT+3k2XXd1Q/39l3iY5W6edsvyU6us79TOp0VD8ns6ztGqqf\nNfo5y+IaVz+3k2Vh56X13nfqfd3cDlvbm+Qvk/z9JC8leSrJT/Xe/2KpQd7NczrJJ3rvZ5a837+T\nZCPJ7/XePzZ77FeTnO29/8rsRep47/3frijL40k2eu+/tuj9X5PjniT39N6/2lo7kuQrSf5Rkn+e\nJZ+XiSz/JEs+L8uknz+w7xId1c9tZdnV/UxqdVQ/6/Rztt8SHdVP/azSz4ksj8caunYdrdTPWZ7T\nWfOO6ue2sujncvOcjn6W6OdsvyU6uq79TGp1VD8nszyeNV1D9bNGP2d5Tsf/s+jnzWfZ1R3Vzx/Y\nd4mOVunnbL8lOrqu/UxqdVQ/J7M8njVdQ/WzRj9neU7HNa5+3nyWhXV0Fd+x79EkX++9v9h7v5Tk\nvyT5zApyrFTv/U+SnH3Pw59J8qXZ21/K1Q/+qrIsXe/95d77V2dvv5Xk+ST3ZgXnZSLLbqefM1U6\nqp/byrIOdDT6OU+Vjuqnflbp50SWpavSzxtk2e30c6ZKR/VzW1l2O/2c0c/rVenoGvcz0dEkdfo5\nkWXp9LME/Yx+DnKU6OcNsux2+jlTpaNV+pnU6ega9zPR0SR1+jmRZen0swT9jH4OcpTo5w2yLMwq\nbuy7N8k3r/nzS1ntC1FP8j9aa19prf3sCnMkycne+8uzt7+T5OQqwyT5+dbas+3qt9dcyrfyfFtr\n7cEkP5bkT7Pi8/KeLMkKz8sS6Oe0Sh3Vz+uzJLu7n0mtjurn2Eqfh1U6qp/6eY1K/UysofOyJLu7\no5X6mejoFP28Pkuin8ukn2Ouca/Pkezufia1Oqqf09Z+DdVPa+g19HOmSj/nZEl2d0f1c1qljrrG\nvT5Hsrv7mdTqqH5OW/s1VD+todfQz5kq/ZyTJVnQeVnFjX3V/ETv/W8l+YdJ/uXsW0muXO+95+oL\nxap8LsmPJvl4kpeT/PqydtxauyPJHyT5hd77uWtnyz4vc7Ks7LysqZL9TFbeUf2cn0U/l0s/51vp\n87BKR/Vz5fRzzBo6P4uOLpeOzqef87Po53Lp53yucefn0M/l0s+xtV9D9bOEkh3Vz9X3c5BFR5er\nZD+TlXfUNe78HPq5XPo5tvZrqH6WULKj+rn6fg6yLOy8rOLGvm8luf+aP983e2wleu/fmv3+apL/\nmqvf3nNVXmlXfx7z2z+X+dVVBem9v9J73+y9byX5nSzpvLTW9ufqk//3e+9fnj28kvMyL8uqzssS\n6ee0Eh3Vz7XtZ1Koo/o53yqfh1U6qp/v0M93lehnYg0dZVmDjpbpZ6KjI/qpnzP6+YPWup9JnY6u\naT+TQh3Vz7F1X0P18x3W0HfpZ5F+jrKsQUf1c1qJjrrGXdt+JoU6qp9j676G6uc7rKHv0s8i/Rxl\nWeR5WcWNfU8leai19uHW2oEk/zTJH64gR1prt7fWjrz9dpKfTPLcKrLM/GGSn569/dNJ/tuqgrz9\n5J/5bJZwXlprLckXkzzfe/+Na0ZLPy+jLKs4L0umn9NKdFQ/17afSZGO6ufYqp6HVTqqn/o5UKKf\niTV0jTtaop+Jjk7RT/3Uz7nWtp+z/Zbo6Br3MynSUf2cts5rqH6uvp9JyY7qZ4F+TmVZg47q57QS\nHXWNu7b9TIp0VD+nrfMaqp+r72dSsqP6WaCfU1kWel5670v/leRTSf4yyV8n+XeryDDL8SNJ/mz2\n68+XmSXJf87Vb794OVd/NvjPJLk7yR8n+ask/zPJXSvM8p+SnErybK6W4Z4l5PiJXP3WmM8meWb2\n61OrOC8TWZZ+Xpb9Sz/f2X+JjurntrLs+n7Ojn/lHdXPyRwreR5W6ah+6meVfk5ksYauaUcr9HOW\nQ0fHOfRTP/VTP9+bpURH17mfs+NfeUf184ZZ1nYN1c/V93OWw/+zjLOsbT9vkGXXd1Q/39l/iY5W\n6ecsS4mOrnM/Z8e/8o7q5w2zrO0aqp+r7+csh2vccZa17ecNsizsvLTZjgEAAAAAAAAAAIACVvGj\neAEAAAAAAAAAAIABN/YBAAAAAAAAAABAIW7sAwAAAAAAAAAAgELc2AcAAAAAAAAAAACFuLEPAAAA\nAAAAAAAACnFjHwAAAAAAAAAAABTixj4AAAAAAAAAAAAo5G8A9LLRhSVshy8AAAAASUVORK5CYII=\n","text/plain":["
"]},"metadata":{"tags":[]}}]}]}